Technical Q&As


QTW 38 - QTW PicHandles (1-July-95)


Q We are preparing a multimedia CD-ROM publication for both the Mac and Windows. The most important aspect of this publication is its ability to display enlarged images of famous paintings. To store all the blowups on the CD-ROM, we use JPEG compression and display them using the picture-viewing code in Quicktime 2.0 (and Quicktime for Windows 2.0).

Our current prototypes use a separate PICT file for each JPEG image. For various reasons, we want to merge a number of images into a single file instead. How can we make a single, large data file that is a combination of several JPEG images, and then access those images on both the Mac and in Windows (the CD will be a hybrid CD, so we have to be able to use a single data file for both platforms)?

A If you create a QuickTime for Windows movie that contains all of your images, you'll have easy storage and access to your image files. To display any of the pictures in the movie, you can do something along the lines of what is done in the following pseudo-code:

    Movie       mMovie;
    PicHandle   phPicture;
    TimeValue   tvTime;

    phPicture = GetMoviePict (mMovie, tvTime);
    DrawPicture (hdcMyDevCon, phPicture, &rcPicture, NULL);

You'll need to decide how you want to get the time values of the pictures in the movie. You can hard-code these values after you create the movie, or you can add a text track to the movie. With a text track you can sync picture-title names with the pictures you want to display. With a call to MovieSearchText, you can return the time value of the text, which also points to the time value of the desired picture.

Technical Q&As
Previous Question | Contents | Next Question